
/* ----- INFO ----- */
.info { display:inline-block; clear:both; margin:0 0 1px 0; padding:0 1% 1.1em 1%; border-bottom:1px solid #eeede7; } 
.info[class] { display:block;} 
.info h2 { font-weight:bold; margin:15px 0 5px 0; clear:left; } 
.info div {line-height:135%; color:#555; }

/* ----- Field Structure ----- */
form ul { margin:0; padding:0;} 
* html form ul { /* IE6 Margin Percent Bug for Halves/Thirds */ width:99%; zoom:1; } 
form li { margin:0; padding:6px 1% 9px; clear:both; list-style-type:none !important; } 
form li:after, form li div:after { content:"."; display:block; height:0; clear:both; visibility:hidden; }
* html form li { height: 1%; margin-bottom:-3px; } 
*+html form li { height: 1%; margin-bottom:-3px; } 
* html form li div { display:inline-block; } 
*+html form li div { display:inline-block; }
form li div { margin:0; padding:0; color:#444; }
form li span { margin:0 .3em 0 0; padding:0; float:left; color:#444; }

/* ----- Choices Field Structures ----- */
form li div span { margin:0; display:block; width:100%; float:left; }
li.twoColumns div span { width:48%; margin:0 5px 0 0; }
li.threeColumns div span { width:30%; margin:0 5px 0 0; }
li.notStacked div span { width:auto; margin:0 7px 0 0; }

/* ----- Location Field Structures ----- */
form li.complex { padding-bottom:0; }
form li.complex div span { width:auto; margin:0 .3em 0 0; padding-bottom:12px; }
form li.complex div span.full { margin:0; }
form li.complex div span.left, form li.complex div span.right { margin:0; width:48%; }
form li.complex div span.full input, form li.complex div span.full select, form li.complex div span.left input, form li.complex div span.right input, form li.complex div span.left select, form li.complex div span.right select { width:100%; }

/* ----- FLOATS ----- */
.left { float:left; }
.right { float:right; }
.clear { clear:both !important; }
label span, .section span, p span, .likert span { display:inline !important; float:none !important; }

/* ----- TEXT DIRECTION ----- */
.rtl .info h2, .rtl .info div, .rtl label.desc, .rtl label.choice, .rtl div label, .rtl span label, .rtl input.text, .rtl textarea.textarea, .rtl select.select, .rtl p.instruct, .rtl .section h3, .rtl .section div, .rtl input.btTxt { direction:rtl; }

/* ----- LABELS ----- */
form li div label, form li span label { margin:0; padding-top:3px; clear:both; font-size:85%; line-height:160%; color:#444; display:block; }
label.desc { font-size:95%; font-weight:bold; color:#222; line-height:150%; margin:0; padding:0 0 3px 0; border:none; display:block; }
label.choice { display:block; font-size:100%; line-height:150%; margin:-17px 0 0 23px; padding:0 0 5px 0; color:#222; width:88%; }
.safari label.choice { margin-top:-16px; }
form.rightLabel label.desc { padding-top:2px; }
span.symbol { font-size:120%; line-height:135%; }
form li .datepicker { float:left; margin:.19em 5px 0 0; padding:0; width: 16px; height: 16px; cursor:pointer !important; }

/* ----- REQUIRED ----- */
form span.req { display:inline; float:none; color:red !important; font-weight:bold; margin:0; padding:0; }

/* ----- MIN/MAX COUNT ----- */
form li div label var { font-weight:bold; font-style:normal; }
form li div label .currently { display:none; }

/* ----- FIELDS ----- */
input.text, input.search, input.file, textarea.textarea, select.select { font-family:"Lucida Grande", Tahoma, Arial, sans-serif; font-size:100%; color:#333; margin:0; padding:5px; }
input.text, input.search, textarea.textarea { border-top:1px solid #7c7c7c; border-left:1px solid #c3c3c3; border-right:1px solid #c3c3c3; border-bottom:1px solid #ddd; background:#fff url(../images/fieldbg.gif) repeat-x top; }
select.select { padding:1px 0 0 0; }
input.search { -webkit-border-radius:10px; -moz-border-radius:10px; border-radius:10px; padding-left:6px; }
input.checkbox, input.radio { display:block; margin:4px 0 0 0; padding:0; width:13px; height:13px; }
input.other { margin:0 0 8px 25px; }
.safari select.select { font-size:120% !important; margin:0 0 1px 0; }
* html select.select { margin:1px 0; }
*+html select.select { margin:1px 0; }
.center, form li span.center input.text, form li span.center label, form li.name span label, form li.date input.text, form li.date span label, form li.phone input.text, form li.phone span label, form li.time input.text, form li.time span label { text-align:center; }
form li.time select.select { margin-left:5px; }
form li.price .right { text-align:right; }

/* ----- SIZES ----- */
.third { width:32% !important; }
.half { width:48% !important; }
.full { width:100% !important; }
input.small, select.small { width:25%; }
input.medium, select.medium { width:50%; }
input.large, select.large, textarea.textarea { width:100% !important; }
.msie select.ieSelectFix { width:auto; }
.msie6 select.ieSelectFix, .msie7 select.ieSelectFix { width:100%; }
.msie select.ieSelectFix.small { min-width:25%; }
.msie select.ieSelectFix.medium { min-width:50%; }
.msie select.ieSelectFix.large { width:100%; }
textarea.smaller { height:3.5em; }
textarea.small { height:5.5em; }
textarea.medium { height:10em; }
textarea.large { height:20em; }

/* ----- FILES ----- */
li.file a { color:#222;text-decoration:none; }
li.file span { display:inline; float:none; }
li.file img { display:block; float:left; margin:0 0 0 -10px; padding:5px 5px 7px 5px; }
li.file .file-size, li.file .file-type { color:#666; font-size:85%; text-transform: uppercase; }
li.file .file-name { display:block; padding:14px 0 0 0; color:blue; text-decoration:underline; }
li.file .file-delete { color:red !important; font-size:85%; text-decoration:underline; }
li.file a:hover .file-name { color:green !important; }
li.file a:hover .file-name { color:green !important; }

/* ----- BUTTONS ----- */
form li.buttons { width:auto !important; position:relative; clear:both; padding:10px 1% 10px 1%; }
form li.buttons input { font-size:100%; margin-right:5px; }
input.btTxt { padding:0 7px; width:auto; overflow:visible; }
.safari input.btTxt { font-size:120%; }
.buttons .marker { position:absolute; top:0; right:0; padding:15px 10px 0 0; color:#000; width:auto; }
button.link { display:inline-block; border:none; background:none; color:blue; text-decoration:underline; cursor:pointer; padding:0; font-size:100%; }
button.link:hover { color:green; }

/* ----- LABEL LAYOUT ----- */
.leftLabel li, .rightLabel li{ width:74% !important; padding-top:9px; }
.leftLabel label.desc, .rightLabel label.desc { float:left; width:31%; margin:0 15px 0 0; }
.rightLabel label.desc { text-align:right; }
.leftLabel li div, .rightLabel li div { float:left; width:65%; }
.leftLabel .buttons, .rightLabel .buttons { padding-left:23%; }
.leftLabel .buttons div, .rightLabel .buttons div { float:none; margin:0 0 0 20px; }
.leftLabel p.instruct, .rightLabel p.instruct{ width:28%; margin-left:5px; }
.leftLabel .altInstruct .instruct, .rightLabel .altInstruct
.instruct{ margin-left:31% !important; padding-left:15px; width:65%; }

/* ----- HALVES AND THIRDS ----- */
form li.leftHalf, form li.rightHalf { width:47% !important; }
form li.leftThird, form li.middleThird, form li.rightThird { width:30% !important; }
form li.leftHalf, form li.leftThird { clear:left !important; float:left; }
form li.middleThird { clear:none !important; float:left; width:30% !important; margin-left:2% !important; }
form li.rightHalf, form li.rightThird { clear:none !important; float:right; }
li.leftHalf .small, li.rightHalf .small, li.leftHalf .medium, li.rightHalf .medium, li.leftThird .small, li.middleThird .small, li.rightThird .small, li.leftThird .medium, li.middleThird .medium, li.rightThird .medium { width:100%; }

/* ----- INSTRUCTIONS ----- */
@-webkit-keyframes fade-in-focused { from {background-color: transparent;} to {background-color: #fff7c0 !important;} }

form li.focused { background-color:#efede6; -webkit-animation-name: fade-in-focused; -webkit-animation-duration: 0.4s; -webkit-animation-iteration-count: 1; }
form li.focused, form li:hover{ position:relative; /* Makes Instructs z-index stay on top in IE. */ }
form .instruct{ position:absolute; top:0; left:0; z-index:1000; width:45%; margin:0 0 0 8px; padding:8px 10px 10px 10px; border:1px solid #e6e6e6; background:#f5f5f5; visibility:hidden; font-size:105%; }
form .instruct small{ line-height:120%; font-size:80%; color:#444; }
form li.focused .instruct, form li:hover .instruct { left:100%; /* Prevent scrollbars for IE Instruct fix */ visibility:visible; }

/* ----- ALT INSTRUCTIONS ----- */
.altInstruct .instruct, li.leftHalf .instruct, li.rightHalf .instruct, li.leftThird .instruct, li.middleThird .instruct, li.rightThird .instruct, .iphone .instruct{ visibility:visible; position:static; margin:0; padding:6px 0 0 0; width:100%; clear:left; background:none !important; border:none !important; font-style:italic; }
.altInstruct p.complex , li.leftHalf p.complex, li.rightHalf p.complex, li.leftThird p.complex, li.middleThird p.complex, li.rightThird p.complex, .iphone p.complex{ padding:0 0 9px 0; }

/* ----- SECTIONS ----- */
form li.section { clear:both; margin:0; padding:7px 0 0 0; width:auto !important; position:static; }
form li.section h3 { font-weight:normal; font-size:110%; line-height:135%; margin:0 0 3px 0; width:auto; padding:12px 1% 0 1%; border-top:1px dotted #ccc; }
form li.first { padding:0; }
form li.first h3 { padding:8px 1% 0 1%; border-top:none !important; }
form li.section div{ display:block; width:auto; font-size:85%; line-height:160%; margin:0 0 1em 0; padding:0 1% 0 1%; }
form li.section.scrollText { border:1px solid #dedede; height:150px; overflow:auto; margin-bottom:10px; padding:10px; -webkit-box-shadow:rgba(0,0,0,.15) 0px 0px 3px; -moz-box-shadow:rgba(0,0,0,.15) 0px 0px 3px; box-shadow:rgba(0,0,0,.15) 0px 0px 3px; }
form li.section.scrollText h3{ border:none; padding-top:8px; }

/* ----- ERRORS ----- */
#errorLi { width:99%; margin:15px auto 5px auto; background:#fff !important; border:1px solid red; text-align:center; padding:1em 0 1em 0; -webkit-border-radius:20px; -moz-border-radius:20px; border-radius:20px; }
#errorMsgLbl { margin:0 0 5px 0; padding:0; font-size:125%; color:#DF0000 !important; }
#errorMsg{ margin:0 0 2px 0; color:#000 !important; font-size:100%; }
#errorMsg strong { padding:2px 8px; background-color: #FFDFDF !important; color:red !important; -webkit-border-radius:10px; -moz-border-radius:10px; border-radius:10px; }
form li.error { display:block !important; background-color: #FFDFDF !important; margin-bottom:3px !important; }
form li label.error, form li input.error { color:#DF0000 !important; font-weight:bold !important; }
form li input.error { background:#fff !important; border:2px solid #DF0000 !important; }
form li.error label, form li.error span.symbol { color:#000 !important; }
form li.error label.desc { color:#DF0000 !important; }
form p.error { display:none; margin:0 !important; padding:7px 0 0 0 !important; line-height:10px !important; font-weight:bold; font-size:11px; color:#DF0000 !important; clear:both; }
form li.error p.error { display:block; }
form li.complex p.error { padding:0 0 9px 0 !important; }